Firefox 31 release notes for developers
Firefox 31 was released on July 22, 2014. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.
Changes for Web developers
>Developer Tools
Highlights:
- Eyedropper tool to select colors in web pages
- full stack traces for console error messages
- editable Box Model View
- %c formatting to style console messages
- "copy as cURL" command in Network Monitor
- Sublime Text keybindings in the source editor
- Option to make Network Monitor logs persistent
- JavaScript warnings on by default in the Web Console
- Alt+click to expand all descendants of a node
CSS
- Changed
var-prefix of CSS Variables to--to reflect the final spec change (Firefox bug 985838). - The
hyphensproperty now support Polish hyphenation rules (Firefox bug 987668). - Removed an unwanted white space for multiple of 10,000 in Korean counter styles (Firefox bug 985186).
- CSS opacity transition broken with parent pseudo :before and overflow auto (Firefox bug 990340).
- The
::-moz-math-stretchypseudo-element has been removed (Firefox bug 1000879).
HTML
<track>has been implemented (Firefox bug 629350).
JavaScript
New ECMAScript 2015 features implemented:
- New
Arraybuilt-in:Array.prototype.fill()(Firefox bug 911147) - New
Mathfunction:Math.clz32()(Firefox bug 925123) - New
Stringbuilt-in:String.prototype.normalize()is available in Firefox Desktop (Firefox bug 918987). - New
ObjectmethodObject.setPrototypeOf(). - New
Numberconstants:Number.MAX_SAFE_INTEGERandNumber.MIN_SAFE_INTEGER. - The ES2015 Proxy
isExtensibletrap have been implemented (Firefox bug 978235).
Interfaces/APIs/DOM
- Constructor of
KeyboardEventhas been implemented (Firefox bug 930893). - The Resource Timing API has been implemented (see Firefox bug 822480).
KeyboardEvent.isComposingattribute has been implemented (Firefox bug 993234).InputEventinterface has been implemented (Firefox bug 993253).InputEvent.isComposingattribute has been implemented (Firefox bug 993253).CSS.escape()has been implemented (Firefox bug 955860).mousemoveis now cancelable like in other browsers (Firefox bug 704423). CallingpreventDefault()only setsdefaultPreventedattribute totrue;any other behaviors are not changed. E.g., it cannot prevent to set:hoverstate.- The
Path2Dinterface has been implemented. - The
CanvasRenderingContext2D.isPointInPath(),CanvasRenderingContext2D.isPointInStroke(),CanvasRenderingContext2D.clip(),CanvasRenderingContext2D.fill()andCanvasRenderingContext2D.stroke()methods have been updated to optionally accept aPath2Dobject. - Implemented
HTMLMediaElement.fastSeek(). - The
Connectioninterface has been renamed toNetworkInformationand has been modified to match the new specification (Firefox bug 960426). - The
Navigator.sendBeacon()has been implemented; this allows asynchronous transmission of analytics or other data in a manner that doesn't rely on the transmitting page remaining loaded, so that it can be used in anunloadorbeforeunloadhandler.
MathML
- Partial implementation of the OpenType MATH table, section 6.3.6 (Firefox bug 407059). For details, try the MathML torture test.
- The
::-moz-math-stretchypseudo-element has been removed (Firefox bug 1000879). - When available, the Unicode Mathematical alphanumeric characters are used for bold, italic and bold-italic math variants (Firefox bug 930504).
SVG
No change.
Audio/Video
No change.
Security
Changes for add-on and Mozilla developers
-
The
alignattribute on theurlbar-wrapper(formerly on theurlbar-container) which was set tocentersince time immemorial, has been removed. This is known to affect third-party themes. You should look carefully at what the right fix is for your theme, but for maintaining the equivalent effect, you can add the following CSS rule to your theme:css#urlbar-wrapper { -moz-box-align: center; } -
nsIDOMWindowUtils.sendQueryContentEvent()andnsIDOMWindowUtils.sendSelectionSetEvent()haveaAdditionalFlagsas optional argument. If you callednsIDOMWindowUtils.sendSelectionSetEvent()withtrueforaReverse, the behavior would be broken by this change. See explanation of each flag (QUERY_CONTENT_FLAG_*andSELECTION_SET_FLAG_*) for the detail ofaAdditionalFlags.
Add-on SDK
Highlights:
- Add-on Debugger
- Added the ability to convert between high-level BrowserWindow objects and DOM windows, and between high-level Tab objects and XUL tabs.
- Updated the default theme used for panels on Mac OS X.
- Added contentStyle and contentStyleFile options to panel.
GitHub commits made between Firefox 30 and Firefox 31. This will not include any uplifts made after this release entered Aurora.
Bugs fixed between Firefox 30 and Firefox 31. This will not include any uplifts made after this release entered Aurora.